In digital signal processing systems, there is often a need to characterize and implement nonlinear functions. A traditional approach to nonlinear function characterization is the Volterra nonlinear expansion. Let the channel input signal vector be Vn=[vn vn−1 . . . vn−N] and the channel output be yn. A simple example of a Volterra function is:yn=a0vn+a1vn−1+a2vn2+a3vnvn−1+a4vn2vn−1  (equation 1).
The Volterra function characterizes a nonlinear function having a set of fixed coefficients that multiply higher powers of the input data. In practice, it is often difficult to implement a nonlinear filter using a Volterra transfer function because of the higher order terms.
In U.S. patent application Ser. No. 10/418,944 filed Apr. 18, 2003, which is incorporated herein by reference for all purposes, a general nonlinear filter structure was described. The same filter function can be expressed using different forms. An example of a general form is:
                              y          n                =                                            A              T                        ⁢                          V              n                                +          b          +                                    ∑                              j                =                1                            K                        ⁢                                          c                j                            ⁢                                                                                                                                                              α                          ->                                                j                                            ⁢                                              V                        n                                                              +                                          β                      j                                                                                        .                                                                        (                  equation          ⁢                                          ⁢          2                )            
Implementing a nonlinear filter based on this general form is typically easier than implementing a Volterra function. However, although nonlinear filters can be more easily implemented using nonlinear elements such as absolute value operators and min-max operators, the cost of implementation is often still significant due to the number of multiplication operations required to implement nonlinear functions using the generalized forms. It would be useful to have a more cost effective way to implement nonlinear filters. It would also be desirable if the cost savings would not significantly sacrifice filter performance.